With increasing frequency, waveform instruments are depending on computers to plot and display signal traces. For cost and time-to-market reasons, it is often desirable to use off-the-shelf components for the microprocessor, display controller, and/or operating system of such an instrument. Examples of such components are PC motherboards, PC display cards, PC display controllers, Windows.RTM. 3.1, Windows.RTM. 95, Windows.RTM. NT.RTM., and UNIX.RTM.. These components are typically optimized for a windowed environment, and are not optimized to display the types of "live" traces which need to be displayed by a waveform instrument.
Generally, PCs and computer workstations incur a great deal of overhead when plotting data, especially in a windowed display environment. For example, typical Personal Computer (PC) formats for display data are index and RGB (Red, Green, Blue). Each of these data formats consists of a single piece of information--the color intensity of a pixel (picture element) to be illuminated by a CRT (cathode ray tube). When updating display data, old data values must be read so that new data may be combined with it (i.e., read-modify-write operations are used to maintain a single piece of information). As a result, a pixel's entire data field (often a 16-bit field) is constantly changing.
A windowed display further complicates the problem. In a windowed environment, anytime a trace is plotted or updated, an operating system needs to determine which parts of the trace should be visible (i.e., not obscured by another window). This adds even further to the already high overhead associated with using the standard display path of a PC or workstation to plot signal traces.
In an oscilloscope, data is typically organized in a number of fields so that numerous pieces of information may be 1) simultaneous maintained, and 2) individually updated. For example, pixel data for an oscilloscope might comprise a 16-bit data word with four 1-bit fields representing "markers", "memories", "highlight" and "graticule", and four 3-bit fields representing the intensity levels (including OFF) of four different signal traces. Conventional oscilloscopes are designed to efficiently plot this sort of data. However, PCs and workstations require that this non-standard data be converted to a conventional form, such as RGB or index. Since the standard display path of a PC or workstation is already slow (in comparison to the display path of a conventional oscilloscope), incurring this additional processing overhead makes it nearly impossible to achieve a high update rate for the display of live signal traces on a computer screen.
Hewlett-Packard Company produces oscilloscopes, signal acquisition boards, and the like that offer a variety of display modes. Three of these modes are "grey-scale variable persistence" mode, "minimum persistence" mode, and "infinite persistence" mode. Each of these modes uses a 16-bit data format similar to that described in the previous paragraph. As a result, each mode requires a lot of processing bandwidth, and it is prohibitive to optimally implement these modes using the standard display path of a PC or workstation. Calls to the operating systems generate too much overhead.
A number of hardware-assisted plotting devices (i.e., display accelerators) are currently available on the market. However, none of these devices are optimized to draw and update live signal traces.
Since prior computerized waveform instruments have always processed graticule window data through the "standard display path", their performance has suffered greatly.
It is therefore a primary object of this invention to provide a high-throughput display of live signal traces on a computer screen, via a method which does not require a wholesale upgrade of an existing computer system (e.g., a faster processor, faster memory, the addition of a video accelerator card, etc.). Upgrading is expensive, and if a system is already using the highest performance components available, upgrading may not even be feasible.
It is a further object of this invention to provide for the efficient update of live signal traces, without interfering with the normal functionality provided by a computer's operating system. For example, if a live signal trace is being displayed in a first window, another application should be able to put up a second window on top of the first, without the second window interfering with the display of the live trace, and without the first window interfering with the operating system's ability to timely display the second window.
Another object of this invention is to provide a method wherein low-speed information which is intended to dominate over live signal data, such as measurement text, can be added to a display via the standard display path used by a PC or workstation's operating system.